﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace PhanCongGiangDay
{
    public partial class QuanLyHocPhan : Form
    {
        public QuanLyHocPhan()
        {
            InitializeComponent();
        }

        private void label1_Click(object sender, EventArgs e)
        {

        }

        private void btnFind_Click(object sender, EventArgs e)
        {
            List<MHocPhan> listHP = new List<MHocPhan>();
            string idHP = txtMaHP.Text.Trim();
            string tenHP = txtTenHP.Text.Trim();
            listHP = CHocPhan.getHPByIdName(idHP,tenHP);

            dataGridViewFindHP.DataSource = listHP;

        }

        private void QuanLyHocPhan_Load(object sender, EventArgs e)
        {
            cboTenBM.DataSource = CBoMon.getAll();
            cboTenBM.DisplayMember = "TENBM";
            cboTenBM.ValueMember = "MABM";
            //dataGridViewHP.AutoGenerateColumns = false;
            List<MHocPhan> listHP = new List<MHocPhan>();
            listHP = CHocPhan.getAll();
            dataGridViewHP.DataSource = listHP;     
            
        }

        private void dataGridViewHP_RowEnter(object sender, DataGridViewCellEventArgs e)
        {
            int rowIndex = e.RowIndex;
            string bomon = "";
            txtMaHocPhan.Text = dataGridViewHP.Rows[rowIndex].Cells[0].Value.ToString();
            txtTenHocPhan.Text = dataGridViewHP.Rows[rowIndex].Cells[1].Value.ToString();
            txtSoTC.Text = dataGridViewHP.Rows[rowIndex].Cells[2].Value.ToString();
            txtSoTiet.Text = dataGridViewHP.Rows[rowIndex].Cells[3].Value.ToString();
            bomon = dataGridViewHP.Rows[rowIndex].Cells[4].Value.ToString();
            cboTenBM.SelectedIndex = cboTenBM.FindStringExact(bomon);
            
        }

        private void btnThem_Click(object sender, EventArgs e)
        {
            if (txtMaHocPhan.Text.Trim() == "" || txtTenHocPhan.Text.Trim() == "" || txtSoTC.Text.Trim() == "" || txtSoTiet.Text.Trim() == "")
            {
                MessageBox.Show("Xin vui lòng nhập đầy đủ thông tin", "Lỗi");
            }
            else
            {
                string maHP = txtMaHocPhan.Text.Trim();
                string tenHP = txtTenHocPhan.Text.Trim();
                string maBM = ((MBoMon)cboTenBM.SelectedItem).MABM;
                string soTC = txtSoTC.Text;
                string soTiet = txtSoTiet.Text;
                int kq = CHocPhan.addHP(maHP, tenHP, maBM, soTC, soTiet);
                if (kq == 1)
                {
                    MessageBox.Show("Thêm thông tin học phần thành công !!!", "Thông báo");
                    dataGridViewHP.DataSource = CHocPhan.getAll(); 
                }
                else
                {
                    MessageBox.Show("Thêm học phần thất bại", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }

        private void btnSua_Click(object sender, EventArgs e)
        {
            string maHP = txtMaHocPhan.Text.Trim();
            string tenHP = txtTenHocPhan.Text.Trim();
            string maBM = ((MBoMon)cboTenBM.SelectedItem).MABM;
            string soTC = txtSoTC.Text;
            string soTiet = txtSoTiet.Text;
            int kq = CHocPhan.updateHP(maHP, tenHP, maBM, soTC, soTiet);
            if (kq == 1)
            {
                MessageBox.Show("Chỉnh sửa thông tin học phần thành công !!!", "Thông báo");
                dataGridViewHP.DataSource = CHocPhan.getAll();
            }
            else
            {
                MessageBox.Show("Chỉnh sửa thông tin học phần thất bại", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void btnXoa_Click(object sender, EventArgs e)
        {
            DialogResult result = MessageBox.Show("Bạn có muốn xóa thông tin học phần này?",
                                               "Xóa học phần", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
            if (result == DialogResult.Yes)
            {
                string maHP = txtMaHocPhan.Text.Trim();
                int kq = CHocPhan.deleteHP(maHP);
                if (kq == 1)
                {
                    MessageBox.Show("Đã xóa thông tin học phần thành công !!!", "Thông báo");
                    dataGridViewHP.DataSource = CHocPhan.getAll();
                }
                else
                {
                    MessageBox.Show("Xóa thông tin học phần thất bại", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }

        private void btnThoat_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void dataGridViewFindHP_RowEnter(object sender, DataGridViewCellEventArgs e)
        {
            int rowIndex = e.RowIndex;
            string bomon = "";
            txtMaHocPhan.Text = dataGridViewFindHP.Rows[rowIndex].Cells[0].Value.ToString();
            txtTenHocPhan.Text = dataGridViewFindHP.Rows[rowIndex].Cells[1].Value.ToString();
            List<MHocPhan> listHP = dataGridViewFindHP.DataSource as List<MHocPhan>;
            bomon = listHP[rowIndex].TENBM;           
            cboTenBM.SelectedIndex = cboTenBM.FindStringExact(bomon);
            txtSoTC.Text = listHP[rowIndex].SOTC.ToString();
            txtSoTiet.Text = listHP[rowIndex].SOTIET.ToString();
        }

       

      
    }
}
